package com.njit.farm.service;

import com.njit.farm.model.Order;
import com.njit.farm.model.OrderItem;
import com.njit.farm.model.Result;

/**
 * 订单服务
 * @author sunran
 * @date 19:07 2019/3/20
 */
public interface OrderService {

    /**
     * 添加order的orderItem
     * @param orderItem OrderItem
     * @return Result
     */
    Result addOrderItem(OrderItem orderItem);


    /**
     * 根据所给orderItem的id更新其余数据，如果部分属性为空，表示不更新改属性
     * @param orderItem OrderItem
     * @return Result
     */
    Result updateOrderItem(OrderItem orderItem);

    /**
     * 根据所给id删除OrderItem
     * @param oid OrderItem的id
     * @return Result
     */
    Result deleteOrderItem(String oid);


    /**
     * 添加订单
     * @param order Order
     * @return Result
     */
    Result add(Order order);


    /**
     * 根据所给对象的id更新订单
     * @param order Order
     * @return Result
     */
    Result update(Order order);



    /**
     * 查询所有属于该用户的订单
     * @param uid 用户id
     * @return Result,data表示List<Order>
     */
    Result queryByUserId(String uid);


    /**
     * 移除指定订单
     * @param oid 订单id
     * @return Result
     */
    Result remove(String oid);
}
